package co.com.services;

import java.util.List;

import javax.naming.NamingException;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import co.com.smart.maestro.infraestructure.dto.DocenteDTO;
import co.com.smart.maestro.infraestructure.dto.ResponseJson;
import co.com.smart.session.DelegateContextEJB;

@Path("/SmartService")
public class WordService {

	@GET
	@Path("/getAllDocente")	
	@Produces(MediaType.APPLICATION_JSON)
	public List<DocenteDTO> getDocente() throws NamingException {
		return DelegateContextEJB.getBeanWordLocal().consultarAllDocentes();
	}
	
	@POST
	@Path("/getDocenteId")	
	@Produces(MediaType.APPLICATION_JSON)
	public DocenteDTO getDocenteId(DocenteDTO json) throws NamingException {
		return DelegateContextEJB.getBeanWordLocal().consultarDocenteId(json);
	}

	@PUT
	@Path("/setDocente")
	@Consumes(MediaType.APPLICATION_JSON)
	@Produces(MediaType.APPLICATION_JSON)
	public ResponseJson setDocente(DocenteDTO json){ 
		return DelegateContextEJB.getBeanWordLocal().insertarDocente(json);
	}
	
	@PUT
	@Path("/editDocente")
	@Consumes(MediaType.APPLICATION_JSON)
	@Produces(MediaType.APPLICATION_JSON)
	public ResponseJson setEditDocente(DocenteDTO json){ 
		return DelegateContextEJB.getBeanWordLocal().editDocente(json);
	}

	@PUT
	@Path("/removeDocente")
	@Consumes(MediaType.APPLICATION_JSON)
	@Produces(MediaType.APPLICATION_JSON)
	public ResponseJson setRemoveDocente(DocenteDTO json){ 
		return DelegateContextEJB.getBeanWordLocal().removeDocente(json);
	}
	
}
